Modern mobile devices, such as a smart phone, can include a variety of applications. Some examples of applications include but are not limited to: a map or navigation service, digital photography, a media player, telephony, email, text messaging, a web browser, an address book, a voice memo recorder, and many other useful applications. A typical user may use one or more of these applications many times a day. These applications can capture, generate and receive information, which can then be stored or communicated to other devices.
To support these applications, a modern mobile device can have a variety of subsystems, including but not limited to: a camera subsystem, a wireless communications subsystem (e.g., WiFi, 3G, Bluetooth), a radio broadcast receiver (e.g., FM stereo receiver), an audio/video subsystem, a power management subsystem, a geographic positioning device (e.g., a GPS receiver), a stereo receiver, a memory subsystem, motion sensors (e.g., accelerometer, gyroscope, magnetometer), light sensors, touch sensitive displays and pads, etc.
For many mobile devices, there is no mechanism available for reconstructing past events occurring on the mobile device in a comprehensive manner.